CELLA DANIELL
Author: ROSSELLA COGHE

SIMULAZIONE CELLA DANIELL realizzata dalla Prof.ssa ROSSELLA COGHE

Zn²+

Zn²+

Zn²+

Cu²+

Cu²+

Cu²+

Cu²+

Cu²+

Cu²+

SO4--

SO²4-

SO4--

SO4--

SO4--

PONTE SALINO

e-

e-

e-

e-

VOLTMETRO

PILA DANIELL

Zn

Cu

ANODO (-)

CATODO (+)

+1.10 VOLT

SO4--

SO4--

SO4--

Zn

Zn²+ + 2e-

Cu²+ + 2e-

Cu

reazione di riduzione (assorbimento di elettroni)

reazione di ossidazione (cessione di elettroni)

Cu²+

ZnSO4

deposito di cristalli 
di solfato di zinco

ZnSO4

SO4--

SO4--

ZnSO4

CuSO4

CuSO4

soluzione sovrasatura
deposito di cristalli di solfato di rame

 nel 1836, John Frederic Daniell elaborò
 una pila, chiamata pila Daniell,
 sfruttando il prototipo inventato
 da Volta e apportando miglioramenti
 in termini di voltaggio e sicurezza d'uso.
 La cella è costituita da un compartimento
 anodico (semicella) formato da una
 barretta di zinco immersa in una
 soluzione di solfato di zinco (ZnSO4)
 1 M e un compartimento catodico formato
 da una barretta di rame immersa in una
 soluzione di solfato di rame (CuSO4) 1 M. 
Le due semicelle sono collegate da un ponte
salino  costituto da un tubo riempito da una
soluzione satura di sale con dei tappi alle
 estremità permeabili a ioni e acqua. 
Alla chiusura del circuito  esterno con un
conduttore, al catodo avviene la semi-reazione
di riduzione

DESCRIZIONE

A_9 = (-4.1, 5.24)
C_8 = (-5.5, 3.14)
D = (-1, 4)
E_6 = (-2, 5)
B = (-8, 5)
F = (-8, -2)
a_6 = Segment(F, B)
b_8 = OrthogonalLine(F, a_6)
G = Point(b_8)
c = OrthogonalLine(G, b_8)
d = OrthogonalLine(B, a_6)
H = Intersect(c, d)
I_6 = Intersect(b_8, c)
J = Intersect(d, a_6)
K = Intersect(b_8, a_6)
e = Segment(H, I_6)
f = Segment(K, I_6)
L = (4, 5)
M_5 = (4, -2)
g = Segment(L, M_5)
h = OrthogonalLine(M_5, g)
N = Point(h)
i = OrthogonalLine(N, h)
j = OrthogonalLine(M_5, g)
O = Intersect(i, j)
k = OrthogonalLine(L, g)
P = Intersect(i, k)
l = Segment(P, O)
m = Segment(O, M_5)
Q_8 = Intersect(g, m)
R = Point(a_6)
n = OrthogonalLine(R, a_6)
S = Intersect(n, a_6)
T = Intersect(n, e)
U = Intersect(n, g)
V = Intersect(n, l)
p = Segment(S, T)
q = Segment(U, V)
W = (-3, 5)
Z = (-2.6, 4.5600000000000005)
r = Circle(W, Z)
s = OrthogonalLine(W, a_6)
A_1 = Intersect(r, s, 1.0)
B_1 = Point(s)
t = Circle(B_1, Segment[W, A_1])
C_1 = Intersect(t, s, 2.0)
a_1 = OrthogonalLine(W, p)
b_1 = OrthogonalLine(A_1, p)
c_1 = OrthogonalLine(C_1, q)
d_1 = OrthogonalLine(B_1, q)
e_1 = Circle(C_1, 0.5)
D_1 = Intersect(e_1, c_1, 2.0)
f_1 = OrthogonalLine(D_1, d_1)
E_1 = Point(a_1)
g_1 = OrthogonalLine(E_1, a_1)
F_1 = Intersect(b_1, g_1)
G_1 = Intersect(c_1, g_1)
H_1 = Intersect(d_1, g_1)
I_1 = Intersect(d_1, f_1)
J_1 = Intersect(a_1, f_1)
h_1 = Segment(J_1, I_1)
i_1 = Segment(A_1, C_1)
j_1 = Segment(C_1, G_1)
l_1 = Segment(A_1, F_1)
m_1 = Segment(J_1, E_1)
n_1 = Segment(E_1, F_1)
k_1 = Segment(I_1, H_1)
p_1 = Segment(G_1, H_1)
q_1 = Circle(F_1, 0.3)
K_1 = Intersect(q_1, l_1, 1.0)
r_1 = OrthogonalLine(K_1, l_1)
L_1 = Intersect(r_1, m_1)
M_1 = Intersect(r_1, j_1)
N_1 = Intersect(r_1, k_1)
poli1, l_2, k_2, f_2, e_2 = Polygon(L_1, K_1, F_1, E_1)
poli2, m_2, n_2, h_2, g_2 = Polygon(M_1, N_1, H_1, G_1)
O_1 = Intersect(m_1, n_1)
s_1 = Segment(K_1, L_1)
t_1 = Segment(L_1, O_1)
a_2 = Segment(O_1, F_1)
b_2 = Segment(F_1, K_1)
c_2 = Segment(M_1, G_1)
d_2 = Segment(H_1, G_1)
i_2 = Segment(N_1, H_1)
j_2 = Segment(M_1, N_1)
poli3, j_3, l_3, k_3, a_3, c_3, m_3, n_3, i_3 = Polygon(J_1, L_1, K_1, A_1, C_1, M_1, N_1, I_1)
P_1 = (-6, 6)
p_2 = OrthogonalLine(P_1, p)
q_2 = Circle(P_1, 0.7)
r_2 = OrthogonalLine(P_1, p_2)
Q_1 = Intersect(q_2, r_2, 1.0)
R_1 = Point(r_2)
s_2 = Circle(R_1, 0.7)
S_1 = Intersect(s_2, r_2, 2.0)
t_2 = OrthogonalLine(R_1, r_2)
b_3 = OrthogonalLine(S_1, r_2)
d_3 = OrthogonalLine(Q_1, r_2)
T_1 = Point(p_2)
e_3 = OrthogonalLine(T_1, p_2)
U_1 = Intersect(p_2, e_3)
V_1 = Intersect(d_3, e_3)
W_1 = Intersect(b_3, e_3)
Z_1 = Intersect(t_2, e_3)
f_3 = Segment(P_1, U_1)
g_3 = Segment(U_1, V_1)
h_3 = Segment(Q_1, V_1)
p_3 = Segment(P_1, Q_1)
q_3 = Segment(S_1, W_1)
r_3 = Segment(W_1, Z_1)
s_3 = Segment(R_1, Z_1)
t_3 = Segment(S_1, R_1)
A_2 = Point(f_3)
c_4 = Circle(A_2, 0.1)
B_2, C_2 = Intersect(c_4, f_3)
a_4 = OrthogonalLine(A_2, f_3)
D_2 = Intersect(c_4, a_4, 1.0)
E_2 = Intersect(c_4, a_4, 1.0)
F_2, G_2 = Intersect(c_4, a_4)
d_4 = CircumcircleArc(C_2, G_2, B_2)
b_4 = LineBisector(P_1, Q_1)
e_4 = LineBisector(S_1, R_1)
H_2 = Intersect(b_4, p_3)
I_2 = Intersect(e_4, t_3)
J_2 = Intersect(p, l_1)
K_2 = Intersect(m_1, j_3)
L_2 = Intersect(p, m_1)
M_2 = Intersect(j_1, c_3)
N_2 = Intersect(q, k_1)
O_2 = Intersect(j_1, c_3)
P_2 = Intersect(q, j_1)
Q_2 = Intersect(f_3, p)
R_2 = Intersect(h_3, p)
S_2 = Intersect(q_3, q)
T_2 = Intersect(s_3, q)
poli4, q_4, u_1, v_1, r_4, l_4, o_1, f_4, j_4, t_4, i_4, k_4, s_4 = Polygon(Q_2, U_1, V_1, R_2, L_2, O_1, F_1, J_2, T, I_6, K, S)
poli5, t_5, z_1, w_1, s_5, n_4, h_4, g_4, p_4, u, q_5, o, v = Polygon(T_2, Z_1, W_1, S_2, N_2, H_1, G_1, P_2, U, Q_8, O, V)
m_4 = Segment(S, K)
a_5 = Segment(K, I_6)
b_5 = Segment(I_6, T)
c_5 = Segment(U, Q_8)
d_5 = Segment(Q_8, O)
poli7, c_7, b_7, g_6 = Polygon(B_2, G_2, C_2)
U_2 = Point(b_4)
w = 0.8 (slider from 0.4 to 2.5, step 0.1)
e_5 = Circle(U_2, w)
W_2 = Point(e_5)
V_2 = Point(b_4)
f_5 = Circle(V_2, w)
Z_2 = Point(f_5)
z = 1.9 (slider from 0.4 to 3, step 0.1)
h_5 = Circle(V_2, z)
A_3 = Point(h_5)
k_5 = Circle(U_2, z)
B_3 = Point(k_5)
C_3 = Point(b_4)
r_5 = Circle(C_3, z)
D_3 = Point(r_5)
d_6 = Circle(C_3, w)
E_3 = Point(d_6)
g_5 = Segment(R_2, V_1)
F_3 = Point(poli4)
p_5 = Circle(F_3, 0.1)
G_3, H_3 = Intersect(p_5, h_3)
i_5 = OrthogonalLine(F_3, b_4)
I_3 = Intersect(p_5, i_5, 2.0)
J_3 = Point(poli4)
c_6 = Circle(J_3, 0.1)
K_3, L_3 = Intersect(c_6, h_3)
j_5 = OrthogonalLine(J_3, b_4)
M_3 = Intersect(c_6, j_5, 2.0)
N_3 = Point(h_3)
e_6 = Circle(N_3, 0.08)
O_3, P_3 = Intersect(e_6, h_3)
l_5 = OrthogonalLine(N_3, h_3)
Q_3 = Intersect(e_6, l_5, 1.0)
poli6, l_6, k_6, m_5 = Polygon(K_3, M_3, L_3)
poli8, h_6, g_7, i_6 = Polygon(G_3, I_3, H_3)
poli9, p_6, o_3, q_6 = Polygon(O_3, Q_3, P_3)
poli10, q_7, p_7, b_6, g_8, c_8, u_2, v_2, p_8, q_8, o_2, h_7, i_7, g_9, l_7, m_6, k_7 = Polygon(Q_1, P_1, B_2, G_2, C_2, U_1, V_1, P_3, Q_3, O_3, H_3, I_3, G_3, L_3, M_3, K_3)
n_5 = OrthogonalLine(I_2, t_3)
R_3 = Point(n_5)
T_3 = Point(n_5)
V_3 = Point(n_5)
a = 2.2 (slider from 0.4 to 3, step 0.1)
b = 1.3 (slider from 0.4 to 2, step 0.1)
f_6 = Circle(R_3, a)
r_6 = Circle(V_3, a)
s_6 = Circle(T_3, a)
S_3 = Point(s_6)
U_3 = Point(r_6)
W_3 = Point(f_6)
t_6 = Circle(R_3, b)
d_7 = Circle(V_3, b)
e_7 = Circle(T_3, b)
Z_3 = Point(t_6)
A_4 = Point(d_7)
B_4 = Point(e_7)
j_6 = Segment(S_2, W_1)
n_6 = Line(S_2, W_1)
C_4 = Point(n_6)
D_4 = Point(n_6)
E_4 = Point(n_6)
f_7 = Circle(E_4, 0.08)
r_7 = Circle(C_4, 0.08)
s_7 = Circle(D_4, 0.08)
F_4, G_4 = Intersect(f_7, n_6)
H_4, I_4 = Intersect(r_7, n_6)
J_4, K_4 = Intersect(s_7, n_6)
a_7 = OrthogonalLine(E_4, n_6)
j_7 = OrthogonalLine(C_4, n_6)
m_7 = OrthogonalLine(D_4, n_6)
L_4 = Intersect(f_7, a_7, 1.0)
M_4 = Intersect(r_7, j_7, 1.0)
N_4 = Intersect(s_7, m_7, 1.0)
t_7 = CircumcircleArc(F_4, L_4, G_4)
d_8 = CircumcircleArc(H_4, M_4, I_4)
e_8 = CircumcircleArc(J_4, N_4, K_4)
n_7 = LineBisector(O_1, F_1)
a_8 = LineBisector(G_1, H_1)
O_4 = Intersect(n_7, n_1)
P_4 = Intersect(p_1, a_8)
SO = 1 (slider from 0.1 to 1.5, step 0.1)
f_8 = Circle(O_4, SO)
Q_4 = Point(f_8)
R_4 = Point(f_8)
S_4 = Point(f_8)
W_4 = Point(f_8)
i_8 = Segment(K, I_6)
j_8 = Segment(V, O)
k_8 = Circle(H_2, 2.0)
Z_4 = Intersect(k_8, b_4, 2.0)
l_8 = OrthogonalLine(Z_4, b_4)
A_5 = Intersect(n_5, l_8)
m_8 = Segment(S_1, W_1)
B_5 = Point(l_8)
r_8 = Circle(B_5, 0.5)
C_5 = Point(r_8)
D_5, E_5 = Intersect(r_8, l_8)
n_8 = Segment(Z_4, E_5)
s_8 = Segment(D_5, A_5)
E = 0.7 (slider from 0.1 to 1.9, step 0.1)
F_5 = Point(Circle[H_2, E])
t_8 = Segment(H_2, F_5)
G_5 = Point(Circle[A_5, E])
a_9 = Segment(A_5, G_5)
M = 4.6 (slider from 0.1 to 6.5, step 0.1)
H_5 = Point(Circle[Z_4, M])
b_9 = Segment(Z_4, H_5)
I_5 = Point(Circle[D_5, M])
c_9 = Segment(D_5, I_5)
α = 0.13962634015954636 rad (slider from 0 to 1.0471975511965976, step 0.017453292519943295)
J_5 = Rotate(C_5, α, B_5)
β = Angle(C_5, B_5, J_5)
w_2 = Vector(B_5, J_5)
d_9 = Segment(H_2, Z_4)
e_9 = Segment(A_5, I_2)
f_9 = Segment(Z_4, E_5)
poli11, r_9, s_9, w_3, z_2 = Polygon(R_1, S_1, W_1, Z_1)
X = 0.3 (slider from 0.2 to 1, step 0.1)
h_9 = Circle(O_4, X)
K_5 = Intersect(h_9, n_7, 1.0)
k_9 = Circle(P_4, X)
i_9 = Segment(O_1, J_1)
j_9 = Segment(J_1, I_1)
l_9 = Segment(I_1, H_1)
m_9 = Segment(M_1, C_1)
n_9 = Segment(C_1, A_1)
p_9 = Segment(A_1, F_1)
q_9 = Segment(M_1, G_1)
t_9 = Segment(Z_4, E_5)
c_{10} = Circle(B_5, Segment[B_5, D_5])
P_5 = Intersect(i_1, l_1)
a_{10} = OrthogonalLine(P_5, m_1)
Q_5 = Intersect(a_{10}, m_1)
R_5 = Intersect(h_1, m_1)
b_{10} = LineBisector(R_5, Q_5)
S_5 = Intersect(b_{10}, m_1)
d_{10} = LineBisector(R_5, S_5)
e_{10} = LineBisector(S_5, Q_5)
I = 3.1 (slider from 0.1 to 3.5, step 0.1)
T_5 = Point(b_{10})
V_5 = Point(e_{10})
W_5 = Point(d_{10})
B_6 = Intersect(j_1, a_{10})
C_6 = Intersect(k_1, a_{10})
i_{10} = LineBisector(B_6, C_6)
D_6 = Intersect(i_{10}, a_{10})
j_{10} = LineBisector(B_6, D_6)
k_{10} = LineBisector(C_6, D_6)
F_6 = Intersect(a_{10}, j_{10})
G_6 = Intersect(k_{10}, a_{10})
J_6 = Point(j_{10})
L_6 = Point(d_{10})
N_6 = Point(e_{10})
O_6 = Point(Circle[N_6, I])
p_{10} = Segment(N_6, O_6)
P_6 = Point(b_{10})
Q_6 = Point(Circle[P_6, I])
q_{10} = Segment(P_6, Q_6)
r_{10} = LineBisector(Q_5, P_5)
R_6 = Intersect(r_{10}, a_{10})
s_{10} = LineBisector(Q_5, R_6)
t_{10} = LineBisector(R_6, P_5)
S_6 = Point(s_{10})
T_6 = Point(Circle[S_6, I])
a_{11} = Segment(S_6, T_6)
U_6 = Point(t_{10})
N_5 = (0.04834024896888933, 4.177247579552594)
W_6 = (3.0483402489688896, 4.177247579552594)
Z_6 = (3.0483402489688896, 3.177247579552594)
A_7 = (0.04834024896888933, 3.177247579552594)
B_7 = (-6.900003425482695, -2.3303393417390366)
C_7 = (-5.736995716954079, -2.3303393417390366)
u_3 = Vector(B_7, C_7)
D_7 = (6.204308783290449, -2.395860902782902)
E_7 = (7.5475007846896975, -2.4122412930438686)
v_3 = Vector(D_7, E_7)
F_7 = Intersect(t_3, r_9)
G_7 = Intersect(s_3, z_2)
H_7 = Intersect(t_3, r_9)
I_7 = Intersect(s_3, z_2)
J_7 = Intersect(t_3, r_9)
K_7 = Intersect(s_3, z_2)
L_7 = Intersect(t_3, r_9)
M_7 = Intersect(s_3, z_2)
N_7 = Intersect(t_3, r_9)
O_7 = Intersect(t_3, r_9)
P_7 = Intersect(s_3, z_2)
Q_7 = Intersect(t_3, r_9)
S_7 = Point(poli5)
c_{11} = Circle(S_7, 0.08)
T_7, U_7 = Intersect(c_{11}, s_3)
d_{11} = OrthogonalLine(S_7, s_3)
V_7, W_7 = Intersect(c_{11}, d_{11})
e_{11} = CircumcircleArc(T_7, W_7, U_7)
Z_7 = Point(poli5)
C = 1 (slider from 0.1 to 1, step 0.1)
f_{11} = Circle(Z_7, C)
A_8 = Point(f_{11})
B_8 = Point(poli4)
L_5 = Point(poli11)
h_{10} = Circle(L_5, 0.08)
A_6, H_6 = Intersect(h_{10}, m_8)
l_{10} = OrthogonalLine(L_5, m_8)
M_6, V_6 = Intersect(h_{10}, l_{10})
h_{11} = CircumcircleArc(A_6, M_6, H_6)
R_7 = (-6.722203986874978, -1.7606322019833653)
E_8 = (-5.803739256466081, -1.7445187856604023)
F_8 = (-3.273932893760873, -1.7767456183063286)
G_8 = (-3.741221967126803, -1.8089724509522547)
H_8 = (-5.223656268839409, -1.7284053693374393)
I_8 = (-2.7421901551030903, -1.841199283598181)
J_8 = (-2.2426742490912344, -1.857312699921144)
K_8 = (-4.724140362827552, -1.3577967939092876)
L_8 = (-4.0312634609401385, -1.7284053693374393)
z_3 = Vector(K_8, L_8)
Q = 0.4 (slider from 0.1 to 2, step 0.1)
M_8 = (-2.8872109020097585, 0.3985655852936908)
N_8 = Point(Circle[M_8, Q])
n_{10} = Segment(M_8, N_8)
A = 0.3 (slider from 0.1 to 1, step 0.1)
O_8 = (-1.8559522573401197, -0.7616003899596528)
P_8 = Point(Circle[O_8, A])
b_{11} = Segment(O_8, P_8)
R_8 = (-7.108925978626092, -0.7616003899596528)
S_8 = Point(Circle[R_8, A])
i_{11} = Segment(R_8, S_8)
T_4 = (5.894600994005135, 1.4620510626092558)
U_4 = Point(Circle[T_4, I])
h_8 = Segment(T_4, U_4)
V_4 = (5.491765585931057, 1.655412058484813)
U_5 = Point(Circle[V_4, I])
f_{10} = Segment(V_4, U_5)
O_5 = (5.266177757409573, -1.7928590346292916)
Z_5 = (6.071848573557729, -1.7928590346292916)
K_6 = (6.8936328060288465, -1.857312699921144)
D_8 = (8.086025613928117, -1.825085867275218)
T_8 = (9.052830593305902, -1.841199283598181)
U_8 = (10.245223401205173, -1.8089724509522547)
V_8 = (6.506910814277733, -1.712291953014476)
W_8 = (7.489829209978482, -1.7928590346292916)
Z_8 = (8.698335434200715, -1.68006512036855)
B_9 = (9.6651404135785, -1.7767456183063286)
C_9 = (5.669013165483651, -1.8089724509522547)
D_9 = Point(Circle[C_9, A])
g_{10} = Segment(C_9, D_9)
E_9 = (6.3457766510481015, -0.9710748021581732)
F_9 = Point(Circle[E_9, A])
m_{10} = Segment(E_9, F_9)
G_9 = (7.409262128363666, -1.228889463325583)
H_9 = (6.845292557059958, -1.696178536691513)
u_4 = Vector(G_9, H_9)
o_4 = true